pg_duckdb: drop build-id links so per-major packages coinstall - #81
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (3)
🚧 Files skipped from review as they are similar to previous changes (1)
Included review availability: 4 reviews are currently available. Your included PR review attempts over the past 7 days set your current allowance at 5 reviews per hour. 📝 WalkthroughWalkthroughThe packaging configuration disables automatic debug-symbol artifacts for Debian and RPM builds. Three RPM changelog entries now use corrected weekday and date text. ChangesPackaging metadata updates
Estimated code review effort: 1 (Trivial) | ~3 minutes Merge Risk: ⚪ Minimal · up to This packaging-only change adjusts build-id and Debian debug-symbol handling to support coinstallation; no actionable merge-blocking risk remains beyond normal checks and review. Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
Up to standards ✅🟢 Issues
|
Summary
The bundled
libduckdb.sois PG-major independent, so every per-major build produced it identically — same bytes, same build-id. Each package then claimed the same/usr/lib/.build-id/<xx>/<hash>, and the three majors refused to install sideby side:
file /usr/lib/.build-id/67/521b25... conflicts between attempted installs of
pgedge-pg-duckdb_16 and pgedge-pg-duckdb_18
The debuginfo packages collided on the same hash, and dpkg hit it too — dbgsym packages are build-id addressed by construction.
RPM (
%global _build_id_links none): drops the build-id entries from the main and debuginfo packages. Debug files remain, addressed by path (/usr/lib/debug/usr/pgsql-NN/…), which differs per major, so nothing overlaps.debug_packageis deliberately left enabled — disabling it also disables the strip that produces debuginfo, which would leave DuckDB's full DWARF (~212 MB, measured on el10) inside each main package.
DEB (
dh_strip --no-automatic-dbgsym): dbgsym has no equivalent knob, so the packages simply aren't produced. This does give up debug symbols on Debian, forpg_duckdb.soas well as the engine.Verified in containers with the real spec and
debian/rules